﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Face8280WebSocketServer.Command.Models
{
    public class WorkParamModel
    {
        //  public string DevoceSn { get; set; }
        /// <summary>
        /// 音量大小(范围 0-10)
        /// </summary>
        public byte? Volume { get; set; }
        ///// <summary>
        ///// 语音模式 0,不播报；1，播放名字; 2,播放问候语;3,播放名字和问候语
        ///// </summary>
        //public byte? VoiceMode { get; set; }
        /// <summary>
        /// 问候语 0，请通行;1,欢迎光临;2，时间问候语
        /// </summary>
        public byte? Grettings { get; set; }
        /// <summary>
        /// 陌生人语音 0，不播报;1,播报假体;2，播报陌生人；3，播报假体和陌生人
        /// </summary>
        public byte? StrangerVoice { get; set; }
        /// <summary>
        /// 补光灯 0：常闭；  1：常开； 2：自动；
        /// </summary>
        public byte? Light { get; set; }
        /// <summary>
        /// 亮度设置 1-10
        /// </summary>
        public byte? Brightness { get; set; }
        /// <summary>
        /// 红外图像开关 0--关闭；1--开启
        /// </summary>
        public byte? IR { get; set; }
        /// <summary>
        /// 1  -中文      ，2  -英文      ，
        ///3  -繁体      ，4  -法语      ，
        ///5  -俄语      ，6  -葡萄牙语  ，
        ///7  -西班牙语  ，8  -意大利语  ，
        ///9  -日语      ，10 -韩语      ，
        ///11 -泰语      ，12 -阿拉伯语  ，
        /// </summary>
        public byte? Language { get; set; }
        /// <summary>
        /// 身份信息(OEM信息)
        /// </summary>
        public MakerModel Maker { get; set; }
        /// <summary>
        /// 菜单密码
        /// </summary>
        public string MenuPassword { get; set; }
        /// <summary>
        /// 主界面设置(公司名称)
        /// </summary>
        public string CompanyName { get; set; }
        /// <summary>
        /// 设备二维码图片地址，会在设置菜单页面显示此二维码
        /// </summary>
        public string QRCodePath { get; set; }
        /// <summary>
        /// 设备时区设置
        /// </summary>
        public string TimeZone { get; set; }
        /// <summary>
        /// 是否存储非雇员识别记录
        /// </summary>
        public byte? SaveExternalvisitors { get; set; }
        /// <summary>
        /// 取值范围：0--禁止保存；1--保存现场照片
        /// </summary>
        public byte? SavePhoto { get; set; }
        /// <summary>
        /// 活体检测,1 打开，0 关闭
        /// </summary>
        public byte? Bioassay { get; set; }
        /// <summary>
        /// 活体检测阈值
        /// </summary>
      //  public byte? BioassayThreshold { get; set; }
        /// <summary>
        /// 活体检测阈值1-10 
        /// </summary>
        public byte? FaceIRThreshold { get; set; }
        /// <summary>
        /// 距离：1--近距离（0.2-0.5米）；2--中距离（0.2-1.5米）；3--远距离（0.2-1.5米以上）   默认值：中距离
        /// </summary>
        public byte? Distance { get; set; }
        /// <summary>
        /// 人脸机口罩识别开关 取值范围：0--禁止；1--启用
        /// </summary>
        public byte? FaceMask { get; set; }
        /// <summary>
        /// 人脸比对阈值 1-99 识别阈值 是越大精度越高
        /// </summary>
        public byte? FaceComparison { get; set; }
        /// <summary>
        /// 口罩阈值
        /// </summary>
        /// <value>
        /// 取值范围 1-99 识别阈值 是越大精度越高
        /// </value>
        public byte? MaskThreshold { get; set; }
        /// <summary>
        /// 调整摄像头捕捉到的画面亮度
        /// </summary>
        /// <value>
        /// 1--标准;2--增亮 ;3--减暗
        /// </value>
        public byte? Luminance { get; set; }
        /// <summary>
        /// 进出类别：0--进门；1--出门
        /// </summary>
        public byte? Door { get; set; }
        /// <summary>
        /// WG信息
        /// </summary>
        public WgOutputModel WgOutput { get; set; }
        /// <summary>
        /// 继电器否支持双稳态
        /// </summary>
        /// <value>
        /// 1为支持，0为不支持，默认为0
        /// </value>
        public byte? Relay { get; set; }
        /// <summary>
        /// 自由通行（免验证）0--禁止；1--启用
        /// </summary>
        public byte? Free { get; set; }
        /// <summary>
        /// 开门保持时间
        /// </summary>
        public ushort? ReleaseTime { get; set; }

        /// <summary>
        /// 合法验证后的短消息
        /// </summary>
        /// <value>
        /// 可填写30个字符
        /// </value>
        public string ShortMsg { get; set; }

        /// <summary>
        /// 打卡认证模式
        /// </summary>
        /// <value>
        /// <para>1--标准模式</para> 
        /// <para>2--人脸+密码</para>
        /// <para>3--卡+人脸</para>
        /// <para>4--多人考勤</para>
        /// <para>5--人证比对</para>
        /// </value>
        public byte? Authentication { get; set; }
        /// <summary>
        /// 定时常开
        /// </summary>
        public TimingOpen TimingOpen { get; set; }
        /// <summary>
        /// 重复验证权限间隔
        /// </summary>
        public RepeatModel Repeat { get; set; }
        /// <summary>
        ///权限到期提示 
        /// </summary>
        public Remind Remind { get; set; }
        /// <summary>
        /// 电梯工作参数
        /// </summary>
        public Elevator Elevator { get; set; }

        /// <summary>
        /// 消防报警功能开关
        /// </summary>
        /// <value>
        /// 0--禁用；1--启用 (禁用之后报警就不会触发)
        /// </value>
        public byte? FireAlarm { get; set; }
        /// <summary>
        /// 黑名单报警功能开关
        /// </summary>
        /// <value>
        /// 0--禁用；1--启用
        /// </value>
        public byte? BlacklistAlarm { get; set; }
        /// <summary>
        /// 防拆报警功能开关
        /// </summary>
        /// <value>
        /// 0--禁用；1--启用
        /// </value>
        public byte? AntiDisassemblyAlarm { get; set; }

        public IllegalVerificationAlarm IllegalVerificationAlarm { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public PasswordAlarm PasswordAlarm { get; set; }
        /// <summary>
        /// 开门超时报警功能
        /// </summary>
        public OpenTimeoutAlarm OpenTimeoutAlarm { get; set; }
        /// <summary>
        /// 门磁报警功能
        /// </summary>
        public SensorAlarmModel SensorAlarm { get; set; }

        /// <summary>
        /// 合法验证解除报警开关
        /// </summary>
        /// <value>
        /// 0--禁用；1--启用  (启用后，当报警发生时，进行合法验证将能解除报警 "消防报警除外")
        /// </value>
        public byte? UseCloseAlarm { get; set; }

        /// <summary>
        /// 节假日
        /// </summary>
        public List<HolidayDetail> Holidays { get; set; }
        /// <summary>
        /// 设备开门时段
        /// </summary>
        public List<GroupDetail> TimeGroups { get; set; }
        /// <summary>
        /// 日期时间同步
        /// </summary>
        /// <remarks>
        /// 格式：yyyy-MM-dd HH:mm:ss ww
        /// yyyy 年部分
        /// MM 月部分
        /// dd 天部分
        /// HH 时部分
        /// mm 分钟部分
        /// ss 秒部分
        /// ww 星期部分 星期一是01, 星期日是07
        /// </remarks>
        public string Time { get; set; }
        /// <summary>
        /// WG输出格式
        /// </summary>
        /// <value>
        /// （2）二字节 （3）三字节 （4）四字节  （8）八字节
        /// </value>
        public byte? Cardbytes { get; set; }
        /// <summary>
        /// 曝光设置
        /// </summary>
        /// <remarks>
        /// 取值范围-1 - 1
        /// </remarks>
        public int? Exposure { get; set; }
        /// <summary>
        /// 测温设置
        /// </summary>
        public BodyTmpModel BodyTmp { get; set; }

        /// <summary>
        /// 语音播报
        /// </summary>
        /// <value>
        /// 0,不播报；1，播放名字; 2,播放问候语;3,播放名字和问候语
        /// </value>
        public byte? Speek { get; set; }

        public byte? DoorSensor { get; set; }
        /// <summary>
        /// 增加Web页面开关
        /// </summary>
        /// <value>
        /// 1 开，2关
        /// </value>
        public byte WebLoginSwitch { get; set; }
        /// <summary>
        /// 开发者模式开关
        /// </summary>
        /// <value>
        /// 1 开，2关
        /// </value>
        public byte LinuxLoginSwitch { get; set; }
    }
}
